/**
 * 
 */
package ch.baeni.jee.data;

import java.util.List;

import javax.enterprise.context.ApplicationScoped;
import javax.inject.Inject;
import javax.persistence.EntityManager;
import javax.persistence.criteria.CriteriaBuilder;
import javax.persistence.criteria.CriteriaQuery;
import javax.persistence.criteria.Root;

import ch.baeni.jee.model.Link;

/**
 * LinkRepository
 * @author Benjamin
 *
 */
@ApplicationScoped
public class LinkRepository {

	@Inject
	EntityManager em;
	
	/**
	 * Zum erhalten der kompletten Liste mit allen Links nach Namen sortiert
	 * @return <code>List</code> Liste mit allen Links
	 */
	public List<Link> findAllLinksOrderedByName() {
		CriteriaBuilder cb = em.getCriteriaBuilder();
		CriteriaQuery<Link> criteria = cb.createQuery(Link.class);
		Root<Link> link = criteria.from(Link.class);
		criteria.select(link);
		return em.createQuery(criteria).getResultList();
	}

}
